﻿using Search4.Domain.Repository;
using System;
using System.Web.UI.WebControls;

namespace Search4.Web.View.Paginas
{
    public class Detalhe : System.Web.UI.Page
    {
        #region CONTROLES
        public Label lblRazaoSocial { get; set; }
        public Label lblCnpj { get; set; }
        public Label lblTelefone { get; set; }
        public Label lblEmail { get; set; }
        public Label lblEndereco { get; set; }
        public Label lblNomeEstabelecimento { get; set; }
        public Label lblDescricao { get; set; }
        public Label lblSegmento { get; set; }
        public String IdEstabelecimento { get { return Request.QueryString["e"]; } }
        #endregion


        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            VerificaSeUsuarioEstaLogado();
            ConfigurarPagina();
        }

        private void ConfigurarPagina()
        {
            if (!String.IsNullOrWhiteSpace(IdEstabelecimento))
            {
                CarregarDetalhesDoEstabelecimento(IdEstabelecimento);
            }
        }

        private void VerificaSeUsuarioEstaLogado()
        {
            var lbtPainel = (LinkButton)Master.FindControl("lbtPainel");
            var lblSeparador = (Label)Master.FindControl("lblSeparador");
            var lbtCadastro = (LinkButton)Master.FindControl("lbtCadastro");
            var lblWelcome = (Label)Master.FindControl("lblWelcome");
            var lbtLogin = (LinkButton)Master.FindControl("lbtLogin");
            var lbtLogout = (LinkButton)Master.FindControl("lbtLogout");
            var usuarioLogado = Session["USUARIO"] != null ? true : false;
            if (usuarioLogado)
            {
                lbtLogin.Visible = false;
                lbtCadastro.Visible = false;
                lbtLogout.Visible = true;
                lblWelcome.Visible = true;
                lbtPainel.Visible = true;
                lblSeparador.Visible = true;
            }
            else
            {
                lbtLogin.Visible = true;
                lbtCadastro.Visible = true;
                lbtLogout.Visible = false;
                lblWelcome.Visible = false;
                lbtPainel.Visible = false;
                lblSeparador.Visible = false;
            }
        }

        private void CarregarDetalhesDoEstabelecimento(String IdEstabelecimento)
        {
            var estabelecimentoRepository = new EstabelecimentoRepository();
            var estabelecimento = estabelecimentoRepository.ObterPeloIdentificador(Convert.ToInt32(IdEstabelecimento));

            lblRazaoSocial.Text = estabelecimento.RazaoSocial;
            lblCnpj.Text = estabelecimento.CNPJ; 
            lblTelefone.Text = estabelecimento.Telefone;  
            lblEmail.Text = estabelecimento.Email; 
            lblEndereco.Text = estabelecimento.Endereco.IdEndereco.ToString();  
            lblNomeEstabelecimento.Text = estabelecimento.Nome;
            lblDescricao.Text = estabelecimento.Descricao;
            lblSegmento.Text = estabelecimento.Segmento;
        }
    }
}
